﻿using Os.Domain;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using MySql.Data.MySqlClient;
using System.Collections.Generic;
using System.Web.Security;

using System.Data;

namespace Os.Test
{
    
    
    /// <summary>
    ///This is a test class for ClienteTest and is intended
    ///to contain all ClienteTest Unit Tests
    ///</summary>
    [TestClass()]
    public class ClienteTest
    {
        
        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for Cliente Constructor
        ///</summary>
        [TestMethod()]
        public void ClienteConstructorTest()
        {
            int idCliente = 0; // TODO: Initialize to an appropriate value
            Cliente target = new Cliente(idCliente);
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for Cliente Constructor
        ///</summary>
        [TestMethod()]
        public void ClienteConstructorTest1()
        {
            Cliente target = new Cliente();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for CompleteObject
        ///</summary>
        [TestMethod()]
        public void CompleteObjectTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            target.CompletarObjeto();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Delete
        ///</summary>
        [TestMethod()]
        public void DeleteTest()
        {
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            int idCliente = 0; // TODO: Initialize to an appropriate value
            Cliente.Remover(trans, idCliente);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Delete
        ///</summary>
        [TestMethod()]
        public void DeleteTest1()
        {
            int idCliente = 0; // TODO: Initialize to an appropriate value
            Cliente.Remover(idCliente);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for GetParameters
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void GetParametersTest()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            List<MySqlParameter> expected = null; // TODO: Initialize to an appropriate value
            List<MySqlParameter> actual;
            actual = target.ObterParamentros();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Insert
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void InsertTest()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            target.Inserir();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Insert
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void InsertTest1()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Inserir(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for CarregarTodos
        ///</summary>
        [TestMethod()]
        public void CarregarTodosTest()
        {
            List<Cliente> expected = null; // TODO: Initialize to an appropriate value
            List<Cliente> actual;
            actual = Cliente.CarregarTodos();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for LoadByUser
        ///</summary>
        [TestMethod()]
        public void LoadByUserTest()
        {
            //System.Web.Security.MembershipUser
            //MembershipUser user = null; // TODO: Initialize to an appropriate value
            //Cliente expected = null; // TODO: Initialize to an appropriate value
            //Cliente actual;
            //actual = Cliente.LoadByUser(//);
            //Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarDadosBanco
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void CarregarDadosBancoTest()
        {
            object UserKey = null; // TODO: Initialize to an appropriate value
            IDataReader expected = null; // TODO: Initialize to an appropriate value
            IDataReader actual;
            actual = Cliente_Accessor.CarregarDados(UserKey);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarDadosBanco
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void CarregarDadosBancoTest1()
        {
            int idCliente = 0; // TODO: Initialize to an appropriate value
            IDataReader expected = null; // TODO: Initialize to an appropriate value
            IDataReader actual;
            actual = Cliente_Accessor.CarregarDados(idCliente);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for LoadNomeAndCnpj
        ///</summary>
        [TestMethod()]
        public void LoadNomeAndCnpjTest()
        {
            string nome = string.Empty; // TODO: Initialize to an appropriate value
            string cnpj = string.Empty; // TODO: Initialize to an appropriate value
            List<Cliente> expected = null; // TODO: Initialize to an appropriate value
            List<Cliente> actual;
            actual = Cliente.CarregarPorNomeECnpj(nome, cnpj);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for CarregarObjeto
        ///</summary>
        [TestMethod()]
        public void CarregarObjetoTest()
        {
            int parIdCliente = 0; // TODO: Initialize to an appropriate value
            Cliente expected = null; // TODO: Initialize to an appropriate value
            Cliente actual;
            actual = Cliente.CarregarObjeto(parIdCliente);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for LoadVigencia
        ///</summary>
        [TestMethod()]
        public void LoadVigenciaTest()
        {
            DateTime dataInicial = new DateTime(); // TODO: Initialize to an appropriate value
            DateTime dataFinal = new DateTime(); // TODO: Initialize to an appropriate value
            List<Cliente> expected = null; // TODO: Initialize to an appropriate value
            List<Cliente> actual;
            actual = Cliente.CarregarPorVigencia(dataInicial, dataFinal);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Save
        ///</summary>
        [TestMethod()]
        public void SaveTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            target.Salvar();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Save
        ///</summary>
        [TestMethod()]
        public void SaveTest1()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Salvar(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for RealizarPersistencia
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void RealizarPersistenciaTest()
        {
            IDataReader dado = null; // TODO: Initialize to an appropriate value
            Cliente objCliente = null; // TODO: Initialize to an appropriate value
            Cliente_Accessor.PreencherInstancia(dado, objCliente);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for SetParameters
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void SetParametersTest()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            List<MySqlParameter> parms = null; // TODO: Initialize to an appropriate value
            target.PreencherParamentros(parms);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Update
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void UpdateTest()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            MySqlTransaction trans = null; // TODO: Initialize to an appropriate value
            target.Atualizar(trans);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Update
        ///</summary>
        [TestMethod()]
        [DeploymentItem("Os.Domain.dll")]
        public void UpdateTest1()
        {
            Cliente_Accessor target = new Cliente_Accessor(); // TODO: Initialize to an appropriate value
            target.Atualizar();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

        /// <summary>
        ///A test for Bairro
        ///</summary>
        [TestMethod()]
        public void BairroTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Bairro = expected;
            actual = target.Bairro;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Cnpj
        ///</summary>
        [TestMethod()]
        public void CnpjTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Cnpj = expected;
            actual = target.Cnpj;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Cpf
        ///</summary>
        [TestMethod()]
        public void CpfTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Cpf = expected;
            actual = target.Cpf;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Desde
        ///</summary>
        [TestMethod()]
        public void DesdeTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            DateTime expected = new DateTime(); // TODO: Initialize to an appropriate value
            DateTime actual;
            target.Desde = expected;
            actual = target.Desde;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Endereco
        ///</summary>
        [TestMethod()]
        public void EnderecoTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Endereco = expected;
            actual = target.Endereco;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for HorasContratadas
        ///</summary>
        [TestMethod()]
        public void HorasContratadasTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            float expected = 0F; // TODO: Initialize to an appropriate value
            float actual;
            target.HorasContratadas = expected;
            actual = target.HorasContratadas;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for IdCliente
        ///</summary>
        [TestMethod()]
        public void IdClienteTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            target.IdCliente = expected;
            actual = target.IdCliente;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Nome
        ///</summary>
        [TestMethod()]
        public void NomeTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Nome = expected;
            actual = target.Nome;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Observacao
        ///</summary>
        [TestMethod()]
        public void ObservacaoTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Observacao = expected;
            actual = target.Observacao;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Telefone
        ///</summary>
        [TestMethod()]
        public void TelefoneTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            string expected = string.Empty; // TODO: Initialize to an appropriate value
            string actual;
            target.Telefone = expected;
            actual = target.Telefone;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for VigenciaContrato
        ///</summary>
        [TestMethod()]
        public void VigenciaContratoTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            DateTime expected = new DateTime(); // TODO: Initialize to an appropriate value
            DateTime actual;
            target.VigenciaContrato = expected;
            actual = target.VigenciaContrato;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for cidade
        ///</summary>
        [TestMethod()]
        public void cidadeTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            Cidade expected = null; // TODO: Initialize to an appropriate value
            Cidade actual;
            target.cidade = expected;
            actual = target.cidade;
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for user
        ///</summary>
        [TestMethod()]
        public void userTest()
        {
            Cliente target = new Cliente(); // TODO: Initialize to an appropriate value
            //MembershipUser expected = null; // TODO: Initialize to an appropriate value
            //MembershipUser actual;
            //target.user = expected;
            //actual = target.user;
            //Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
    }
}
